#pragma once

#include <vector>
#include "InventorySlot.h"
#include "Item.h"

using namespace std;

class Inventory
{
private:
    vector<InventorySlot*> slots;
    int activeSlot;

public:
	Inventory(void);
	~Inventory(void);

    void draw();

    // return true if successful
    bool addItem(int ID, int slot = -1, bool testOnly = false);
    bool removeItem(int slot = -1);
    bool hasRoomForItem(int ID);
    bool isActiveSlotEmpty();

    Item* getCurrentItem();
    int getCurrentItemID();
    void scroll(bool scrollingDown = true);
    void scrollTo(int slotNumber = 0);
};
